package org.jeecg.modules.monitoring.j_monitoring.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.monitoring.j_monitoring.entity.GatewaySystemFdn;

import java.util.List;

/**
 * 网关系统FND服务
 * @Author: xiaoyq
 * @Date:   2023-01-11
 * @Version: V1.0
 */
public interface IGatewaySystemFdnService extends IService<GatewaySystemFdn> {
    /**
     * 同步Fdn
     */
    void syncFdn();

    /**
     * 同步IP
     */
    void syncIPInterface();

    /**
     * 根据type，id获得网关数据
     * @param type 类型
     * @param id  id
     * @return
     */
    Result getGatewayData(int type,String id);

    /**
     * 根据type，id获得网关数据
     * @param type 类型
     * @param id  id
     * @return
     */
    String gateFdnByTypeAndId(int type,String id);

    /**
     * 根据type，id获得网关数据
     * @param type 类型
     * @param id  id
     * @return
     */
    Result showIpInterface(int type,String id);

    /**
     * 根据id获得IP接口列表
     * @param id  id
     * @return
     */
    Result getIpInterfaceList(String id);

    /**
     * 根据id名称获得网络设备信息
     * @param id  设备id
     * @param name  设备名称
     * @return
     */
    Result NetWorkFlowList(String id,String name);

    /**
     * 添加设备监控
     * @param type  类型
     * @param id  id
     * @return
     */
    Result insertMonitor(int type,String id);

    /**
     * 根据名称和ip查询虚拟群集信息
     * @param name
     * @param ip
     * @return
     */
    Result virtualClusterInfo(String name,String ip);

    /**
     * 根据名称查询机房信息
     * @param name
     * @return
     */
    Result machineInfo(String name);
}
